package it.milanoeasy.jdoBeans;

import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
 
@PersistenceCapable(table="Edicola")
public class EdicolaBean {
	String ubicazione;
	String tipoVia;
	String descrizioneVia;
	String civico;
	String codiceVia;
	String zd;
	String forma_vendita_edicole;
	String superficie_occupata;
	String tipo_vendita_edicole;
	String vendita_esclusiva;
	Double latitudine;
	Double longitudine;
	
	public String getAddress(){
		return getTipoVia()+" "+getDescrizioneVia()+", Milano";		
	} 
	
	@Persistent
	public String getUbicazione() {
		return ubicazione;
	}
	public void setUbicazione(String ubicazione) {
		this.ubicazione = ubicazione;
	}
	@Persistent
	public String getTipoVia() {
		return tipoVia;
	}
	public void setTipoVia(String tipoVia) {
		this.tipoVia = tipoVia;
	}
	@Persistent
	public String getDescrizioneVia() {
		return descrizioneVia;
	}
	public void setDescrizioneVia(String descrizioneVia) {
		this.descrizioneVia = descrizioneVia;
		if (this.descrizioneVia!=null && this.descrizioneVia.equalsIgnoreCase("")){			
			this.descrizioneVia=getUbicazione();
			this.descrizioneVia.replace(',', ' ');
		}
	}
	@Persistent
	public String getCivico() {
		return civico;
	}
	public void setCivico(String civico) {
		this.civico = civico;
	}
	@Persistent
	public String getCodiceVia() {
		return codiceVia;
	}
	public void setCodiceVia(String codiceVia) {
		this.codiceVia = codiceVia;
	}
	@Persistent
	public String getZd() {
		return zd;
	}
	public void setZd(String zd) {
		this.zd = zd;
	}
	@Persistent
	public String getForma_vendita_edicole() {
		return forma_vendita_edicole;
	}
	public void setForma_vendita_edicole(String forma_vendita_edicole) {
		this.forma_vendita_edicole = forma_vendita_edicole;
	}
	@Persistent
	public String getSuperficie_occupata() {
		return superficie_occupata;
	}
	public void setSuperficie_occupata(String superficie_occupata) {
		this.superficie_occupata = superficie_occupata;
	}
	@Persistent
	public String getTipo_vendita_edicole() {
		return tipo_vendita_edicole;
	}
	public void setTipo_vendita_edicole(String tipo_vendita_edicole) {
		this.tipo_vendita_edicole = tipo_vendita_edicole;
	}
	@Persistent
	public String getVendita_esclusiva() {
		return vendita_esclusiva;
	}
	public void setVendita_esclusiva(String vendita_esclusiva) {
		this.vendita_esclusiva = vendita_esclusiva;
	}
	
	
	public void setLocation(LocationBean loc){
		if (loc!=null){
			setLatitudine(new Double(loc.getLat()));
			setLongitudine(new Double(loc.getLon()));
		}
	}
	
	@Persistent
	public Double getLatitudine() {
		return (latitudine!=null?latitudine:new Double(0));
	}
	public void setLatitudine(Double latitudine) {
		this.latitudine = latitudine;
	}
	@Persistent
	public Double getLongitudine() {
		return (longitudine!=null?longitudine:new Double(0));
	}
	public void setLongitudine(Double longitudine) {
		this.longitudine = longitudine;
	}
		
	
	public String toString(){
		String result="";result+="Ubicazione: "+getUbicazione();
		result+=", FormaVendita: "+getForma_vendita_edicole();		
		return result;
	}
	
	public static String toStringTitle(){
		String res="";
		res+="Indirizzo;";
		res+="Zona;";
		res+="Descrizione";
		return res;
	}
	
	public String toStringCsv(){
		String result="";
		result+=getTipoVia()+" "+getDescrizioneVia()+" "+getCivico()+";";		
		result+=getZd()+";";
		result+=getForma_vendita_edicole()+";";
		result+=getLatitudine()+";";
		result+=getLongitudine();
		return result;
	}
	
	public String toStringKml(int counter){
		
		String lat=(getLatitudine()==null?"":""+getLatitudine());
		String lng=(getLongitudine()==null?"":""+getLongitudine());
				
		String result="";
		if (getLatitudine()+getLongitudine()>0){
			result+="<Placemark id=\""+counter+"\"><styleUrl>#miostile</styleUrl>";
			result+="<name><![CDATA[<p>Edicola ("+counter+"): "+getAddress()+"</p><p>"+getForma_vendita_edicole()+"</p><p>Coordinate: "+getLatitudine()+","+getLongitudine()+"</p>]]></name>";
			result+="<description><![CDATA[<p style=\"color:#FFFFFF\">"+getUbicazione()+"</p>]]></description>";
			/*
			result+="<ExtendedData><SchemaData schemaUrl=\"#edicola\">";		
			result+="<SimpleData name=\"indicazioni\">"+getUbicazione()+"</SimpleData>";
			result+="<SimpleData name=\"indirizzo\">"+getAddress()+"</SimpleData>";
			result+="<SimpleData name=\"tipoEdicola\">"+getForma_vendita_edicole()+"</SimpleData>";
			result+="</SchemaData></ExtendedData>";
			*/
			result+="<Point><coordinates>"+lng+","+lat+"</coordinates></Point>";
			result+="</Placemark>";	
		}
		return result;
	}
	
	public static String toStringCatalog(){
		String res="";
		res+="Indirizzo;";
		res+="Zona;";
		res+="Descrizione";
		return res;
	}
	
	
	
}
